Programming and erasure of a trapped charge stored on a floating-gate transistor is done by application of high voltages between a gate and a drain to charge or discharge the floating gate. The charge reaches the floating gate by tunneling. The voltage to be applied to the transistor must be gradual in order to prevent any breakdown of the insulating material. Voltage ramp generators are known in the prior art. For example, a ramp generator system is described in the application EP-A-0 762 428.
FIG. 1 shows the circuits used during the programming of a floating-gate memory. A charge pump 1 provides a pumped voltage V.sub.HT. This charge pump 1 is controlled by a binary programming signal SP. The programming signal SP activates the operation of the charge pump during the programming. A shaping circuit 2 receives the pumped voltage V.sub.HT and produces a programming voltage V.sub.PP having an increase regulated gradually so as not to damage the floating gate transistors. The programming voltage V.sub.PP is applied to buffer registers 3, in which the data elements to be programmed have been loaded beforehand. One or more buffer registers 3 are connected to a memory array 4. An increase in the programming voltage V.sub.PP prompts a gradual increase of the output voltage of the buffer registers 3. This causes the contents of at least one of the buffer registers 3 to be written in the memory array. Erasure is done according to a similar principle with, however, a few differences. It is possible to replace the buffer registers with row decoder circuits to reverse the biasing of the cells. Also, for example, the same circuits can be used with a negative programming voltage.
In the case of a programming operation, a voltage square wave is generated at an output of the charge pump 1 and at an output of the shaping circuit 2, as shown in FIG. 2a. At the instant T.sub.1, the programming signal is activated. This prompts a rapid growth of the pumped voltage V.sub.HT, which will increase up to a maximum pumped voltage V.sub.HTMAX. The pumped voltage V.sub.HT is regulated so that it is maintained at V.sub.HTMAX. At the instant T.sub.2, the programming signal is deactivated which ends the programming. The charge pump 1 stops and the pumped voltage V.sub.HT diminishes to zero volts.
The voltage V.sub.PP is a constant voltage equal to the supply voltage V.sub.CC of the integrated circuit when the programming signal SP is deactivated. When the programming signal SP is active, the programming voltage V.sub.PP becomes equal to the pumped voltage V.sub.HT. However, the shaping circuit limits the increase of the programming voltage V.sub.PP in order not to damage the storage transistors.
FIG. 2a corresponds to a normal operation for a charge pump 1 which provides sufficient current. As soon as the programming voltage V.sub.PP increases, the charge pump 1 must provide a current to the circuits supplied with the programming voltage V.sub.PP. In particular, for the buffer registers 3 loaded by the storage transistors of the memory array to which they are connected, the greater the increase of the programming voltage given by V.sub.PP, the higher the current provided by the charge pump 1.
If the charge pump 1 is undersized, the operation becomes as shown in FIG. 2b. In FIG. 2b, the pumped voltage V.sub.HT increases rapidly until the programming voltage V.sub.PP begins to increase. The charge pump 1 must provide substantial current to the buffer registers 3 which greatly limits the increase of the pumped voltage V.sub.HT. FIG. 2b shows an extreme case where the charge pump 1 cannot reach the voltage V.sub.HTMAX necessary to provide for programming.
To prevent a problem of this kind, the charge pump 1 is sized as a function of the maximum current that it has to supply, while at the same time being able to swiftly increase the pumped voltage V.sub.HT. Those skilled in the art know that the maximum output current of the charge pump 1 is proportional to C*F/n. C is the capacitance of the capacitors used in the output stages of the pump, F is the pumping frequency, and n is the number of output stages of the pump. The number of output stages is fixed as a function of the desired voltage and the supply voltage of the integrated circuit. The increase in the pumping frequency causes an increase in consumption, problems of parasitic emission (radiation), and risks of loss of synchronization (excessively rapid switching of the output stages). The increase in the capacitance values leads to an increase in the size of the pump.
At present, the programming (or erasure) can be done by word, by page of words, or for the entire memory. Total programming is essentially used to reduce the duration of the manufacturer's tests on the memory. A system sized for the efficient performance of total programming is oversized for the programming of only one word.